package model

// 模块本身的server 对外部请求响应
type (
	HardwareInfo struct {
		CPU         int `json:"cpu"`
		Mem      uint64 `json:"mem"`
		Disk     uint64 `json:"disk"`
		Version  string `json:"version"`
		System   string `json:"system"`
		Hostname string `json:"hostname"`
		LocalIP  string `json:"localIP"`
		PublicIP string `json:"publicIP"`
	}

	// DeviceInfo struct {
	// 	Name           string `json:"name"`
	// 	Frpc           []byte `json:"-"`
	// 	NodeID         string `json:"nodeid"`
	// 	Hardware HardwareInfo `json:"hardware"`
	// }
	DeviceInfo struct {
		Code                  int `json:"code"`
		Data    struct {
			Name           string `json:"name"`
			Frpc           []byte `json:"-"`
			NodeID         string `json:"nodeid"`
			Hardware HardwareInfo `json:"hardware"`
		}                         `json:"data"`
		Msg  string               `json:"msg"`
	}
)

// 模块与 API 服务通信时，对方的响应
type (

	CopyFileRs struct {
		Code               int `json:"code"`
		Data   struct {
			Target      string `json:"target"`
			Hash          uint `json:"hash"`
		}                      `json:"data"`
		Msg             string `json:"msg"`
	}

	OpenFileRs struct {
		Code               int `json:"code"`
		Data            string `json:"data"`
		Msg             string `json:"msg"`
	}

	CmpFileRs struct {
		Code               int `json:"code"`
		Data              bool `json:"data"`
		Msg             string `json:"msg"`
	}
)

